#ifndef __PGPLOT_CMAP_H
#define __PGPLOT_CMAP_H

/*! This must have been done before but I cannot
    find it.

    Essentially the renderers are putting down arbitray pixel shapes but the colour map
    is not defined. For ploting images and arrays this colour map must be defined somewhere
    inside pgplot

    In this case we are are going to create a class PGPLOT_CMAP that calls pgscr in a way 
    comensurate with the colour map.

    I'm going to start with gray scale.

*/

#include  <iostream>

using namespace std;

class PGPLOT_cmap {

	public:
	int num_indices;
	virtual void build_table(int levels)=0;	
	virtual float set_range(float min, float max)=0;
	PGPLOT_cmap();
	virtual ~PGPLOT_cmap()=0;
};

class PGPLOT_gray : public PGPLOT_cmap {
	public:
	void build_table(int levels);
	float set_range(float min, float max);
	PGPLOT_gray();
	~PGPLOT_gray();
};

#endif	
	
